#! /usr/bin/env python
# Forearm camera configuration

PACKAGE='cyphy_ekf_pole'
import roslib; roslib.load_manifest(PACKAGE)

from math import pi

from dynamic_reconfigure.msg import SensorLevels
from dynamic_reconfigure.parameter_generator import *

gen = ParameterGenerator()
#       Name                    Type      Reconfiguration level             Description                                                                                      Default    Min   Max

#######################
#	Q, Process noise in Position
#######################

gen.add("Q_pos_x",double_t, SensorLevels.RECONFIGURE_STOP,    "Process noise for x The default value is 0.2 m",0.01,0,1)
gen.add("Q_pos_y",double_t, SensorLevels.RECONFIGURE_STOP,    "Process noise for y The default value is 0.2 m",0.01,0,1)
gen.add("Q_pos_z",double_t, SensorLevels.RECONFIGURE_STOP,    "Process noise for z The default value is 0.2 m",0,0,1)

#######################
#	Q, Process noise in Velocity
#######################


gen.add("Q_vel_x",double_t, SensorLevels.RECONFIGURE_STOP,    "Process noise for vx The default value is 0.3 m/s",0.25,0,1)
gen.add("Q_vel_y",double_t, SensorLevels.RECONFIGURE_STOP,    "Process noise for vy The default value is 0.3 m/s",0.25,0,1)
gen.add("Q_vel_z",double_t, SensorLevels.RECONFIGURE_STOP,    "Process noise for vz The default value is 0.3 m/s",0.06,0,1)

#######################
#	Q, Process noise in Angles
#######################

gen.add("Q_roll",double_t, SensorLevels.RECONFIGURE_STOP,    "Process noise for roll The default value is 5 deg",1.4,0,20)
gen.add("Q_pitch",double_t, SensorLevels.RECONFIGURE_STOP,    "Process noise for pitch The default value is 5 deg",1.4,0,20)
gen.add("Q_yaw",double_t, SensorLevels.RECONFIGURE_STOP,    "Process noise for yaw The default value is 1.1 deg",0.01,0,10)

#######################
#	R, Measurement noise
#######################

gen.add("R_alpha",double_t, SensorLevels.RECONFIGURE_STOP,    "Measurement noise for line angle. The default value is 9 deg",8.5,0,50)
gen.add("R_beta",double_t, SensorLevels.RECONFIGURE_STOP,    "Measurement noise for line beta. The default value is 4 pixel",9.5,0,50)
gen.add("R_roll",double_t, SensorLevels.RECONFIGURE_STOP,    "Measurement noise for roll The default value is 2.5 deg",0.5,0,50)
gen.add("R_pitch",double_t, SensorLevels.RECONFIGURE_STOP,    "Measurement noise for pitch The default value is 2.5 deg",0.5,0,50)

exit(gen.generate(PACKAGE,"cyphy_ekf_pole","onlineQR"))
